// 闭包的概念:
// 1. 闭包就是能够读取其他函数内部变量的函数
// 2. 由于在Javascript语言中，只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。
// 3 在本质上，闭包就是将函数内部和函数外部连接起来的一座桥梁

// 闭包的用途:
// 1. 可以读取函数内部的变量
// 2. 让这些变量的值始终保持在内存中
function f1 () {
  const msg = 'hello'
  function f2 () {
    return msg
  }
  return f2
}
// console.log(msg)
const res = f1()
console.log(res())
